home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / X11 / tclMotif-1.4 / examples / xmfonts < prev    next >
Encoding:
Text File  |  1995-06-29  |  2.4 KB  |  102 lines

  1. #!/usr/local/bin/moat
  2.  
  3. ###################################################################
  4. #
  5. # display a set of buttons, one for each font
  6. # When a button is selected, a message is shown
  7. # in that font.
  8. # Based on Motif programmer's Guide example
  9. #
  10. ###################################################################
  11.  
  12.  
  13. ##################################################################
  14. #
  15. # put up a dialog showing the font
  16. #
  17. proc showFont font {
  18.     xmMessageDialog .msg managed \
  19.     -labelFontList $font \
  20.     -messageString "This is font $font.\n\
  21. The quick brown fox jumps over the lazy dog" \
  22.     -messageAlignment alignment_center
  23.     .msg okCallback {.msg destroyWidget}
  24.     #.msg.Cancel unmanageChild
  25.     #.msg.Help unmanageChild
  26. }
  27.  
  28.  
  29. ###################################################################
  30. #
  31. # X world starts here
  32. #
  33. xtAppInitialize \
  34.     -fallbackResources {
  35.         {*allowShellResize: true}
  36.         {*XmMainWindow.height: 300}
  37.         {*XmMainWindow.width:  400}
  38.     } \
  39.     -options { {-fontPath fontPath sepArg} }
  40.  
  41. . getAppResources  { {fontPath FontPath "/usr/lib/X11/fonts/misc" fontDir} }
  42.  
  43. xmMainWindow .main managed
  44.  
  45. #########################################################
  46. #
  47. # menu system along top
  48. #
  49.  
  50. # menu bar
  51. xmMenuBar .main.menuBar managed
  52.  
  53. # file pulldown
  54. xmPulldownMenu .main.filePane
  55. xmCascadeButton .main.menuBar.file managed \
  56.         -labelString File \
  57.         -subMenuId .main.filePane
  58.  
  59. xmPushButton .main.filePane.exit managed \
  60.         -labelString Exit
  61. .main.filePane.exit activateCallback {exit 0}
  62.  
  63. ########################################################
  64. #
  65. # geometry inside main window
  66. #
  67. xmFrame .main.frame managed \
  68.     -marginWidth 2 \
  69.     -marginHeight 2 \
  70.     -shadowThickness 1 \
  71.     -shadowType shadow_out
  72.  
  73. xmScrolledWindow .main.frame.sw managed \
  74.     -scrollBarDisplayPolicy as_needed \
  75.     -scrollingPolicy automatic
  76.  
  77. xmRowColumn .main.frame.sw.rowcol managed \
  78.     -packing pack_column \
  79.     -numColumns 5
  80.  
  81. .main setValues -menuBar .main.menuBar \
  82.                 -workWindow .main.frame parent
  83.  
  84. #######################################################
  85. #
  86. # create a push button for each font
  87. #
  88.  
  89. #set fontDir "/usr/lib/X11/fonts/misc"
  90. set fonts [eval " exec ls $fontDir"]
  91. foreach file $fonts {
  92.     # lose from "." onwards
  93.     regsub {\..*} $file "" fileStem
  94.     xmPushButton .main.frame.sw.rowcol.$fileStem managed
  95.     .main.frame.sw.rowcol.$fileStem activateCallback "showFont $fileStem"
  96. }
  97.  
  98. . realizeWidget
  99.  
  100. . mainLoop
  101.  
  102.